package com.example.cinemasystemv2.config;

import com.example.cinemasystemv2.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

@Component
public class DataInitializer implements CommandLineRunner {
    
    @Autowired
    private UserService userService;
    
    @Autowired
    private MovieService movieService;
    
    @Autowired
    private ScreeningRoomService screeningRoomService;
    
    @Autowired
    private SnackService snackService;
    
    @Autowired
    private SystemLogService systemLogService;
    
    @Override
    public void run(String... args) throws Exception {
        initializeDefaultData();
    }
    
    private void initializeDefaultData() {
        try {
            // 初始化管理员账户
            if (!userService.existsByUsername("admin")) {
                userService.createUser("admin", "ynuinfo#777", "admin", "13800138000");
                systemLogService.log("系统初始化 - 创建默认管理员账户", "system", "INIT");
            }
            
            
            // 初始化默认放映厅
            screeningRoomService.initializeDefaultRooms();
            
            // 初始化默认零食
            snackService.initializeDefaultSnacks();
            
            // 初始化默认电影
            initializeDefaultMovies();
            
            systemLogService.log("系统数据初始化完成", "system", "INIT");
            
        } catch (Exception e) {
            systemLogService.log("系统数据初始化失败: " + e.getMessage(), "system", "ERROR");
        }
    }
    
    private void initializeDefaultMovies() {
        if (movieService.getTotalMovieCount() == 0) {
            movieService.createMovie(
                "阿凡达：水之道",
                "詹姆斯·卡梅隆",
                "萨姆·沃辛顿, 佐伊·索尔达娜, 西格妮·韦弗",
                "杰克和奈蒂莉组建了家庭，他们的孩子也逐渐成长，为这个家庭带来了许多欢乐。然而危机未曾消散，萨利一家不得不离开家园，到处奔波。",
                192,
                8.5
            );
            
            movieService.createMovie(
                "流浪地球2",
                "郭帆",
                "刘德华, 吴京, 李雪健, 沙溢",
                "太阳即将毁灭，人类在地球表面建造出巨大的推进器，寻找新的家园。然而宇宙之路危机四伏，为了拯救地球，为了人类能在漫长的2500年后抵达新的家园，流浪地球时代的年轻人挺身而出。",
                173,
                8.3
            );
            
            movieService.createMovie(
                "满江红",
                "张艺谋",
                "沈腾, 易烊千玺, 张译, 雷佳音",
                "南宋绍兴年间，岳飞死后四年，秦桧率兵与金国会谈。会谈前夜，金国使者死在宰相驻地，所携密信也不翼而飞。小兵张大与亲兵营副统领孙均机缘巧合被裹挟进这巨大阴谋之中。",
                159,
                8.0
            );
            
            movieService.createMovie(
                "深海",
                "田晓鹏",
                "苏鑫, 王亭文, 滕奎兴",
                "一位少女在神秘的深海世界中追寻探索，邂逅一段独特的生命旅程的故事。",
                112,
                7.8
            );
            
            movieService.createMovie(
                "熊出没·伴我熊芯",
                "林汇达",
                "张伟, 张秉君, 谭笑",
                "神秘的外星人造访狗熊岭，还带来了能够改变所有人命运的高科技。熊大、熊二和光头强能否守护他们的家园？",
                103,
                7.5
            );
        }
    }
}